package com.jprocms.module.cms.enums;

import com.jpro.framework.common.exception.ErrorCode;

/**
 * System 错误码枚举类
 * <p>
 * system 系统，使用 2-001-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== CMS 模块 2001000000 ==========
    ErrorCode COMMON_PARAM_ERROR = new ErrorCode(2001000000, "参数错误");

    //站点模块
    ErrorCode SITE_NOT_EXISTS = new ErrorCode(2001000001, "站点不存在");
    ErrorCode SITE_PARENT_ERROR = new ErrorCode(2001000002, "不能设置自己为父站点");

    ErrorCode SITE_NAME_DUPLICATE = new ErrorCode(2001000003, "已经存在该名字的站点");
    ErrorCode SITE_DETAIL_TPL_NOT_EXISTS = new ErrorCode(2001000004, "站点内容详情模板不存在");
    ErrorCode SITE_TPL_NOT_EXISTS = new ErrorCode(2001000005, "模板配置不存在");
    ErrorCode TPL_INCLUDE_NOT_EXISTS = new ErrorCode(2001000006, "模板不存在");

    ErrorCode SITE_NOT_FIND = new ErrorCode(2001000006, "站点未找到");
    ErrorCode SITE_CLOSED = new ErrorCode(2001000007, "站点已关闭");


    //模板模块
    ErrorCode TPL_NOT_EXISTS = new ErrorCode(2001001001, "模板文件不存在");

    ErrorCode TPL_RES_NOT_EXISTS = new ErrorCode(2001001002, "模板资源不存在");

    ErrorCode FILE_NOT_EXISTS = new ErrorCode(2001001003, "文件不存在");

    ErrorCode TPL_STORAGE_NOT_SUPPORT = new ErrorCode(2001001004, "模板存储不支持的存储方式");
    ErrorCode TPL_FILE_NOT_SUPPORT = new ErrorCode(2001001005, "不支持的文件");

    ErrorCode TPL_IMPORT_ERROR = new ErrorCode(2001001006, "导入失败");

    ErrorCode FILE_CREATE_ERROR = new ErrorCode(2001001007, "创建失败");
    ErrorCode RES_FILE_EDIT_NOT_SUPPORT = new ErrorCode(2001001008, "不能编辑的文件");

    ErrorCode FILE_EXIST_ERROR = new ErrorCode(2001001009, "文件已存在");

    ErrorCode TPL_UPLOAD_ERROR = new ErrorCode(2001001010, "上传失败");


    //词汇
    ErrorCode SYS_WORD_NOT_EXISTS = new ErrorCode(2001002001, "词汇不存在");

    ErrorCode SYS_WORD_IMPORT_LIST_IS_EMPTY = new ErrorCode(2001002002, "导入数据不能为空！");

    ErrorCode SYS_WORD_EXISTS = new ErrorCode(2001002003, "词汇已存在");

    //模型
    ErrorCode MODEL_NOT_EXISTS = new ErrorCode(2001003001, "模型不存在");

    //栏目
    ErrorCode CHANNEL_NOT_EXISTS = new ErrorCode(2001004001, "栏目不存在");

    ErrorCode PARENT_CHANNEL_RULE_EXIST = new ErrorCode(2001004002, "父栏目存在映射规则");

    ErrorCode PARENT_CHANNEL_ERROR = new ErrorCode(2001004003, "不能选子栏目作为父栏目");

    ErrorCode CHANNEL_RULE_MAP_NOT_EXISTS = new ErrorCode(2001004004, "栏目规则不存在");

    ErrorCode PARENT_CHANNEL_EXIST_CONTENT = new ErrorCode(2001004005, "父栏目规存在内容,不能创建子栏目");
    ErrorCode CHANNEL_ATTR_NOT_EXISTS = new ErrorCode(2001004006, "栏目字段不存在");

    //系统配置
    ErrorCode GLOBAL_CONFIG_NOT_EXISTS = new ErrorCode(2001005001, "系统配置数据不存在");


    //内容管理
    ErrorCode CONTENT_EXT_NOT_EXISTS = new ErrorCode(2001006001, "内容扩展表数据不存在");
    ErrorCode CONTENT_NOT_EXISTS = new ErrorCode(2001006002, "内容数据不存在");

    ErrorCode CONTENT_RPC_BMP_AUDIT_ERROR = new ErrorCode(2001006003, "调用远程服务bmp service失败");

    ErrorCode CONTENT_NOT_CURR_SITE = new ErrorCode(2001006004, "内容数据非本站数据不可管理");

    ErrorCode TAG_NOT_EXISTS = new ErrorCode(2001006005, "TAG词不存在");

    ErrorCode CONTENT_WORKFLOW_NOT_EXISTS = new ErrorCode(2001006006, "栏目未配置工作流");
    ErrorCode CONTENT_WORKFLOW_EXISTS = new ErrorCode(2001006007, "栏目配置了工作流，需要审核");

    ErrorCode CONTENT_TARGET_SITE_NOT_ALLOW_PUSH = new ErrorCode(2001006009, "目标站点不允许推送");

    ErrorCode CONTENT_TARGET_SITE_PUSH_PASS_ERROR = new ErrorCode(2001006008, "目标站点推送密码错误");

    ErrorCode CONTENT_RELATE_NOT_EXISTS = new ErrorCode(2001006010, "内容相关数据不存在");

    ErrorCode CONTENT_ATTACH_NOT_EXISTS = new ErrorCode(2001006011, "内容附件数据不存在");

    ErrorCode OPERATE_NOT_EXISTS = new ErrorCode(2001006012, "操作记录不存在");

    ErrorCode OPERATE_EXIST = new ErrorCode(2001006013, "已存在相同操作");

    ErrorCode NO_AUTHORITY = new ErrorCode(2001006014, "没有权限访问");

    ErrorCode DOWN_KEY_VALID = new ErrorCode(2001006015, "下载参数错误");

    ErrorCode DOWN_FILE_NOTEXIST_VALID = new ErrorCode(2001006016, "下载文件不存在");

    ErrorCode CONTENT_STATIC_ERROR = new ErrorCode(2001006017, "静态化失败");

    ErrorCode TASK_NOT_EXISTS = new ErrorCode(2001006018, "任务不存在");
    ErrorCode TASK_STATICPAGE_ERROR = new ErrorCode(2001006019, "静态化生成失败");

    ErrorCode CAPTCHA_PARAM_ERROR = new ErrorCode(2001006020, "验证码错误");
    ErrorCode REGISTER_TO_CHECK = new ErrorCode(2001006021, "待审核");

    ErrorCode SITE_DATA_ERROR = new ErrorCode(2001006022, "站点数据错误，没有站点数据");

    ErrorCode NO_FOUND_CONTENT = new ErrorCode(2001006023, "没有这篇内容");

    ErrorCode SENSITIVEWORD_FORBID = new ErrorCode(2001006024, "存在敏感词，不允许提交");

    ErrorCode SENSITIVEWORD_TIP = new ErrorCode(2001006025, "存在敏感词");

    ErrorCode CONTENT_VERSION_NOT_EXISTS = new ErrorCode(2001006026, "内容版本数据不存在");

    //会员组
    ErrorCode MEMBER_GROUP_NOT_FOUND = new ErrorCode(2001007001, "没有找到这个会员组");

    //前台会员功能
    ErrorCode PORTAL_REGISTER_NOT_ENABLE = new ErrorCode(2001500001, "注册已关闭");

    ErrorCode USER_NAME_EXIST = new ErrorCode(2001500002, "用户已存在");
    ErrorCode EMAIL_EXIST = new ErrorCode(2001500003, "邮箱已存在");
    ErrorCode MOBILE_EXIST = new ErrorCode(2001500004, "手机号已存在");

    ErrorCode PORTAL_USER_NOT_LOGIN = new ErrorCode(2001500005, "用户未登录");

    ErrorCode USER_NOT_EXIST = new ErrorCode(2001500006, "用户不存在");

    ErrorCode RESET_PASSWD_PARAM_ERROR = new ErrorCode(2001500007, "邮箱或者手机号不能为空");

    //留言板
    ErrorCode GUESTBOOK_NOT_EXISTS = new ErrorCode(2001501001, "留言数据不存在");
    ErrorCode GUESTBOOK_NOT_ENABLE = new ErrorCode(2001501002, "留言功能未开启");

    //友情链接
    ErrorCode LINK_NOT_EXISTS = new ErrorCode(2001600001, "友情链接数据不存在");


    //投票不存在
    ErrorCode VOTE_NOT_EXISTS = new ErrorCode(2001602001, "投票不存在");
    ErrorCode VOTE_NOT_ENABLE = new ErrorCode(2001602002, "投票未启用");
    ErrorCode VOTE_OPTION_NOT_EXISTS = new ErrorCode(2001602003, "投票参数不能为空");
    ErrorCode VOTE_OPTION_ERROR = new ErrorCode(2001602004, "投票参数错误");
    ErrorCode VOTE_NOT_START = new ErrorCode(2001602005, "投票未开始");
    ErrorCode VOTE_HAS_ENDED = new ErrorCode(2001602006, "投票已结束");
    ErrorCode VOTE_NOT_SUPPORT_MUL = new ErrorCode(2001602007, "投票只能单选");
    ErrorCode VOTE_NEED_LOGIN = new ErrorCode(2001602008, "需要登录才能投票");
    ErrorCode VOTE_NOT_SUPPORT_MODE = new ErrorCode(2001602009, "不支持的投票模式");
    ErrorCode VOTE_REPEAT = new ErrorCode(2001602010, "您已经投票了");
    ErrorCode VOTE_ITEM_PARAM_ERROR = new ErrorCode(2001602011, "投票参数值必须是string或者string数组类型");


    //安全相关
    ErrorCode EMAIL_CODE_NOT_FOUND = new ErrorCode(2001601001, "验证码不存在");
    ErrorCode EMAIL_CODE_EXPIRED = new ErrorCode(2001601002, "验证码已过期");
    ErrorCode EMAIL_CODE_USED = new ErrorCode(2001601002, "验证码已使用");
    ErrorCode EMAIL_CODE_NOT_CORRECT = new ErrorCode(2001601003, "验证码不正确");
    ErrorCode EMAIL_CODE_SEND_MAXIMUM_QUANTITY_PER_DAY = new ErrorCode(2001601005, "邮件验证码发送次数超过每日限制");
    ErrorCode EMAIL_CODE_IS_EXISTS = new ErrorCode(2001601006, "邮件号已被使用");
    ErrorCode EMAIL_CODE_IS_UNUSED = new ErrorCode(2001601007, "验证码未被使用");
    ErrorCode IP_LOCKED = new ErrorCode(2001601008, "ip访问被禁止");
    ErrorCode IP_URL_REQUEST_MAX = new ErrorCode(2001601009, "ip请求次数超禁止");
    ErrorCode IP_IS_NOT_IN_WHITE_IP_LIST = new ErrorCode(2001601010, "ip不在允许的ip白名单内，访问被禁止");

    /**
     * 调查相关
     */
    ErrorCode INVESTIGATE_NOT_EXISTS = new ErrorCode(2001700001, "问卷调查不存在");
    ErrorCode INVESTIGATE_ITEM_NOT_EXISTS = new ErrorCode(2001700002, "问卷条目不存在");
    ErrorCode INVESTIGATE_ITEM_OP_NOT_EXISTS = new ErrorCode(2001700003, "问卷条目的选项不存在");
    ErrorCode INVESTIGATE_ITEM_OPTION_NOT_EXISTS = new ErrorCode(2001700004, "问卷条目反馈意见不存在");
    ErrorCode INVESTIGATE_OPINION_NOT_EXISTS = new ErrorCode(2001700005, "问卷反馈意见不存在");
    ErrorCode INVESTIGATE_OPTION_OP_NOT_EXISTS = new ErrorCode(2001700006, "问卷条目选项反馈意选项见不存在");
    ErrorCode INVESTIGATE_NOT_ENABLE = new ErrorCode(2001700007, "调查未启用");
    ErrorCode INVESTIGATE_NOT_START = new ErrorCode(2001700008, "调查未开始");
    ErrorCode INVESTIGATE_HAS_ENDED = new ErrorCode(2001700009, "调查已结束");
    ErrorCode INVESTIGATE_NEED_LOGIN = new ErrorCode(2001602010, "需要登录才能参与调查");
    ErrorCode INVESTIGATE_NOT_SUPPORT_MODE = new ErrorCode(2001602011, "不支持的调查模式");
    ErrorCode INVESTIGATE_REPEAT = new ErrorCode(2001602012, "您已经参与调查了");
    ErrorCode INVESTIGATE_NOT_MULTIPLE = new ErrorCode(2001602013, "调查不支持多选");
    ErrorCode INVESTIGATE_OPTION_ERROR = new ErrorCode(2001602014, "调查选项参数错误");
    ErrorCode INVESTIGATE_ITEM_OPTION_ERROR = new ErrorCode(2001602015, "调查条目的选项参数错误");
    ErrorCode INVESTIGATE_ASW_TYPE_ERROR = new ErrorCode(2001602016, "调查条目的回复必须是字符串类型");
    ErrorCode INVESTIGATE_ASW_REQUIRED = new ErrorCode(200160201, "调查条目的回复必填");

    // 评论相关
    ErrorCode COMMENT_NOT_EXISTS = new ErrorCode(200170001, "评论不存在");
    ErrorCode COMMENT_NOT_ENABLE = new ErrorCode(2001602002, "评论未启用");
    ErrorCode COMMENT_TOO_FAST = new ErrorCode(2001602010, "评论过于频繁");

    ErrorCode COMMENT_NOT_LOGIN = new ErrorCode(2001602002, "评论需要先登录");

    /**
     * 采集关
     */
    ErrorCode CRAWLER_TASK_NOT_EXISTS = new ErrorCode(200170001, "采集任务不存在");


    // 值班相关
    ErrorCode DUTY_NOT_EXISTS = new ErrorCode(200180001, "值班信息不存在");
    ErrorCode DUTY_IMPORT_LIST_IS_EMPTY = new ErrorCode(200180002, "导入值班信息数据不能为空！");
    ErrorCode DUTY_NAME_EXISTS = new ErrorCode(200180003, "用户相同天的值班信息已经存在");

    //IP访问规则限制
    ErrorCode IP_RULE_NOT_EXISTS = new ErrorCode(200190001, "IP访问规则限制规则不存在");

    //服务调用
    ErrorCode COMMON_RPC_BMP_ERROR = new ErrorCode(2001999998, "调用远程服务bmp service失败");
    ErrorCode COMMON_RPC_SYSTEM_ERROR = new ErrorCode(2001999999, "调用远程服务system service失败");

    ErrorCode COMMON_RPC_INFRA_ERROR = new ErrorCode(2001999997, "调用远程服务infra service失败");


}
